1. Field of the Invention
The present invention relates generally to an improved data processing system and in particular to a method and apparatus for managing user roles. Still more particularly, the present invention relates to a computer implemented method, data processing system, and computer program product for managing user roles.
2. Description of the Related Art
Typically, a single application provides more functionality than most users require. As a result, many features in an application are rarely, if ever, used by an individual user. In some cases, only ten percent of the features within an application are ever used. Consequently, many features in an application only add clutter and take up space on a user's monitor without providing additional value to the user. The situation is exacerbated for applications that allow for extensions or plug-ins, as the number of features can grow without bounds depending on which extensions are installed.
In some applications, users are able to choose which features to display on their personal graphical user interface. A user may choose to display certain toolbars and not others. Other applications provide the user some ability to customize which buttons appear in the toolbars. However, in general, the user has either limited or no ability to customize the graphical user interface. Even when users do have the capability for some customization, the customization process is cumbersome and requires users to customize their graphical user interfaces in detail. As a result, little incentive exists for users to take advantage of the customizations.
Recently, several applications have made the process of customization easier. One application introduced the idea of turning on and off groups of functions. Another application introduced the idea of customizing based on the identified programming skill of a user. However, in both applications, users are still limited on the amount of customization which can be incorporated. In the described applications, developers of the application or plug-ins predetermine the functions that are within each group. The user typically does not have any control or input on the groupings of the functions. The user can only customized the available functions based on the predefined groupings, even if the groupings may not be exactly what is needed by the user. Furthermore, a user typically does not have the ability to share any of the changes and customizations with other users that may have the same needs as the user. As a result, the utility of the customization tools is still severely limited.